Problem:
 half(0()) -> 0()
 half(s(0())) -> 0()
 half(s(s(x))) -> s(half(x))
 bits(0()) -> 0()
 bits(s(x)) -> s(bits(half(s(x))))

Proof:
 Complexity Transformation Processor:
  strict:
   half(0()) -> 0()
   half(s(0())) -> 0()
   half(s(s(x))) -> s(half(x))
   bits(0()) -> 0()
   bits(s(x)) -> s(bits(half(s(x))))
  weak:
   
  Matrix Interpretation Processor:
   dimension: 1
   max_matrix:
    1
    interpretation:
     [bits](x0) = x0 + 1,
     
     [s](x0) = x0 + 10,
     
     [half](x0) = x0 + 118,
     
     [0] = 38
    orientation:
     half(0()) = 156 >= 38 = 0()
     
     half(s(0())) = 166 >= 38 = 0()
     
     half(s(s(x))) = x + 138 >= x + 128 = s(half(x))
     
     bits(0()) = 39 >= 38 = 0()
     
     bits(s(x)) = x + 11 >= x + 139 = s(bits(half(s(x))))
    problem:
     strict:
      bits(s(x)) -> s(bits(half(s(x))))
     weak:
      half(0()) -> 0()
      half(s(0())) -> 0()
      half(s(s(x))) -> s(half(x))
      bits(0()) -> 0()
    Arctic Interpretation Processor:
     dimension: 3
     interpretation:
                   [0 0 0]  
      [bits](x0) = [0 1 1]x0
                   [2 0 3]  ,
      
                [0  0  -&]  
      [s](x0) = [2  0  -&]x0
                [1  2  0 ]  ,
      
                   [0  -& -&]  
      [half](x0) = [0  -& -&]x0
                   [0  -& -&]  ,
      
            [0 ]
      [0] = [-&]
            [-&]
     orientation:
                   [2 2 0]     [1  1  -&]                       
      bits(s(x)) = [3 3 1]x >= [2  2  -&]x = s(bits(half(s(x))))
                   [4 5 3]     [3  3  -&]                       
      
                  [0]    [0 ]      
      half(0()) = [0] >= [-&] = 0()
                  [0]    [-&]      
      
                     [0]    [0 ]      
      half(s(0())) = [0] >= [-&] = 0()
                     [0]    [-&]      
      
                      [2  0  -&]     [0  -& -&]              
      half(s(s(x))) = [2  0  -&]x >= [2  -& -&]x = s(half(x))
                      [2  0  -&]     [2  -& -&]              
      
                  [0]    [0 ]      
      bits(0()) = [0] >= [-&] = 0()
                  [2]    [-&]      
     problem:
      strict:
       
      weak:
       bits(s(x)) -> s(bits(half(s(x))))
       half(0()) -> 0()
       half(s(0())) -> 0()
       half(s(s(x))) -> s(half(x))
       bits(0()) -> 0()
     Qed